

#ifndef UC_GECOMP3D_H
#define UC_GECOMP3D_H

#include "zgecurv3d.h"
#include "zgevptar.h"
#include "zgeintarr.h"
#pragma pack (push, 8)

class 
GE_DLLEXPIMPORT
UcGeCompositeCurve3d : public UcGeCurve3d
{
public:
    UcGeCompositeCurve3d  ();
    UcGeCompositeCurve3d  (const UcGeVoidPointerArray& curveList);
    UcGeCompositeCurve3d  (const UcGeVoidPointerArray& curveList,
		                   const UcGeIntArray& isOwnerOfCurves);
    UcGeCompositeCurve3d  (const UcGeCompositeCurve3d& compCurve);

    void		          getCurveList       (UcGeVoidPointerArray& curveList) const;

    UcGeCompositeCurve3d& setCurveList       (const UcGeVoidPointerArray& curveList);
    UcGeCompositeCurve3d& setCurveList       (const UcGeVoidPointerArray& curveList,
		                                      const UcGeIntArray& isOwnerOfCurves);

	double				  globalToLocalParam ( double param, int& segNum ) const; 
	double				  localToGlobalParam ( double param, int segNum ) const;

    UcGeCompositeCurve3d& operator =         (const UcGeCompositeCurve3d& compCurve);
};

#pragma pack (pop)
#endif
